|
การเขียนโปรแกรมแบบ Object-Oriented Programming |
|
Visual Basic เป็นภาษาหนึ่งที่มีความสามารถในการเขียนโปรแกรม |
แบบเชิงวัตถุหรือที่เรียกกันว่าOOP ( Object Oriented Programming ) ถ้าได้เคยเขียน |
โปรแกรม Visual Basic ไปบ้างแล้วก็จะเห็นภาพของวัตถุได้ดีขึ้น อย่างไรก็ตามการเขียน |
OOP แบบจริงจังใน Visual Basic ในบทนี้จะให้รู้จักคำศัพท์ของ OOP เบื้องต้น พร้อมกับ |
การเขียนโปรแกรมเกี่ยวกับออบเจ็คไปจนถึงการสร้าง Class และออบเจ็คง่ายๆขึ้นมาใช้เอง |
ด้วย Visual Basic |
|
วัตถุ คืออะไร |
|
หลายๆคนคงเคยได้ยินคำว่า Object Oriented Programming หรือการ |
เขียนโปรแกรมเชิงวัตถุซึ่งเป็นแนวคิดใหม่ของการโปรแกรมที่มองส่วนประกอบต่างๆ |
เป็นวัตถุในหรือออบเจ็ค คำว่าวัตถุทางภาษามีความหมายได้มากมาย แต่สำหรับทาง |
คอมพิวเตอร์ วัตถุ หรือ Object จะหมายถึงสิ่งที่ประกอบด้วยข้อมูลและตัวโปรแกรม |
รวมอยู่ด้วยกันออบเจ็คในทางคอมพิวเตอร์ก็คือซอฟต์แวร์ซึ่งประกอบด้วยข้อมูลและ |
วิธีการจัดการกับข้อมูลนั้น ตัวอย่างเช่น ถ้าเราพูดถึงออบเจ็ค Command Button ที่ชื่อ |
cmdHello ใน Visual Basic จะประกอบไปด้วย 2 ส่วนคือ |
ข้อมูล หรือ Data ของ cmdHello คือพร็อพเพอร์ตี้ต่างๆของ cmdHello เช่น Height, |
BackColor |
โปรแกรม หรือ โค้ด (code) ของ cmdHello ก็คือเมธอดต่างๆของปุ่ม cmdHelloเช่น |
เมธอด Move |
|
คำว่าออบเจ็คนั้นถ้ากล่าวโดยสรุปคือ การนำโปรแกรมและข้อมูลมา |
ู่รวมอยู่ด้วยกันโดยออบเจ็คแต่ละตัวถูกสร้างมาจาก Class หรือแม่พิมพ์ของออบเจ็ค |
ที่แผนภาพบอกว่าออบเจ็คจะมีรูปร่าง คุณสมบัติหรือเมธอดอย่างไรบ้าง เราอาจ |
เปรียบเทียบ Class ว่าเป็นเสมือนแม่พิมพ์วุ่น ถ้าเราใช้แม่พิมพ์กระต่าย วุ้นที่ได้ก็คือ |
ออบเจ็คกระต่าย วุ้นที่ได้คือออบเจ็คกระต่าย ถ้าใช้แม่พิมพ์รูปหมีก็จะได้วุ้นรูปหมี |
|
|
|
แม่พิมพ์วุ้นรูปกระต่ายจะเปรยบเสมือน Class โดยวุ่นรูปกระต่ายที่สร้างออกมาจะเป็น |
ออบเจ็คที่ได้โดยวุ้นรูปกระต่ายจะมีคุณสมบัติตามที่แม่แบบรูปกระต่าย (Class) กำหนด |
ในทางคอมพิวเตอร์การที่เราสร้างออบเจ็คขึ้นมาใหม่จาก Class จะเรียกว่าเราสร้าง |
lnstance ( ตัวตน ) ของออบเจ็คนั้นโดยกระบวนการสร้าง lnstance หรือออบเจ็คนี้จะ |
มีศัพท์เรียกว่า lnstantiate ซึ่งเป็นขั้นตอนที่ออบเจ็คถูกสร้างขึ้นมาจาก Class โดยมี |
พร็อพเพอร์ตี้หรือเมธอดต่างๆตามค่าดีฟอลต์ที่กำหนดไว้ใน Class ที่เป็นแม่พิมพ์ |
|
|